package com.fzn3.day06;

/**
 * @author fzn
 * 描述 队列接口
 * @program DataStructure
 * @create 2023/3/13 12:51
 **/
public interface Queue<E> {
    /**
     * 向队列尾插入值
     *
     * @param value 值
     * @return boolean
     */
    boolean offer(E value);

    /**
     * 从队列头部获取值，并移除
     *
     * @return {@link E}
     */
    E poll();

    /**
     * 从队列头获取值，不移除
     *
     * @return {@link E}
     */
    E peek();

    /**
     * 检查队列是否为空
     *
     * @return boolean
     */
    boolean isEmpty();

    /**
     * 检查队列是否已满
     *
     * @return boolean
     */
    boolean isFull();
}
